package com.周阳.中介者模式.智能家居案例;

/**
 * 具体同事类：咖啡机
 */
public class CoffeeMachine extends Colleague {

    /**
     * 构造器
     */
    public CoffeeMachine(Mediator mediator, String name) {
        //先调用父类构造
        super(mediator, name);
        //在创建咖啡机对象的时候，把自己注册到中介对象内部
        mediator.Register(name, this);
    }

    /**
     * 重写发送消息的方法
     */
    @Override
    public void SendMessage(int stateChange) {
        //先过去中介对象，然后调用中介的GetMessage方法，就代表同事类给中介成功发送消息了
        this.GetMediator().GetMessage(stateChange, this.name);
    }

    //打开咖啡机行为
    public void StartCoffee() {
            System.out.println("It's time to startcoffee!");
    }

    //关闭咖啡机行为
    public void FinishCoffee() {
        System.out.println("After 5 minutes!");
        System.out.println("Coffee is ok!");
        SendMessage(0);
    }
}
